Everything about The Usb Mass Storage totally explained
The
USB mass storage device class (USB MSC) is a set of computing
communications protocols defined by the
USB Implementers Forum that run on the
Universal Serial Bus. The standard provides an interface to a variety of storage devices.
Some of the devices which are connected to computers via this standard are:
Devices which support this standard are referred to as
MSC (Mass Storage Class) devices. While MSC is the official acronym,
UMS (Universal Mass Storage) has become common as an online jargon.
Operating system support
Most current mainstream
operating systems include support for USB mass storage devices, although support on older systems is available through patches.
Microsoft Windows
Windows 95 OSR2.1, an update to the operating system, featured very limited support for USB. During that time, no generic USB mass storage driver was produced by Microsoft, even for
Windows 98. This meant that a device-specific driver was needed for each type of USB storage device. By 2000, the problem was almost solved. Products designed for
Windows Me and
Windows 2000 (where a specific driver was required only for rare devices) are only fully corrected in subsequent OSes. On
Windows Server 2003, however, a drive letter has to be assigned to it in order to access it. This can be done in Disk Management (under Computer Management (local) | Storage | Disk Management).
There is no native (supplied by Microsoft) support for USB in
Windows NT, earlier versions of Windows, or
MS-DOS, although some third-party solutions exist for each OS. A third party
driver
for Windows 98 and
Windows 98SE is also now available. There is also a USB UMS
driver
for
Windows NT 4.
FreeDOS supports USB mass storage as
ASPI devices.
Windows Mobile supports accessing of the most USB mass storage devices formatted with
FAT on devices with USB Host, although portable devices typically can't provide enough power for
disk enclosures containing hard drives (a 2.5"
hard drive typically requires the maximum 2.5
W provided by the USB specification). On the other way around, Windows Mobile devices can not show their file systems as a mass storage device unless the device implementer explicitly decides to add such functionality. However, third party applications exist to add MSC emulation to most WM devices (commercial "Softick CardExport" and free "WM5torage"). Generally only memory cards can be exported, and not internal storage memory, due to the complications outlined below.
Mac OS
Apple Computer's
Mac OS 8.5.1 supports USB mass storage through an optional driver.
Mac OS 9 and
Mac OS X support USB mass storage natively.
Unix-like
The
Linux kernel has supported USB mass storage devices via a
generic driver since kernel version 2.4 (year 2001); kernel 2.2 has also been
back-patched to support it.
Solaris also supports devices since the 2.8 release and up (year 1998),
NetBSD since the 1.5 release and up (year 2000),
FreeBSD since the 4.0 release and up (year 2000), and
OpenBSD since the 2.7 release and up (year 2000).
AmigaOS
AmigaOS supports UMASS storage devices through
Poseidon
, a third-party USB stack which has become a de facto standard. It supports various USB device types through a modular system of Hardware Independent Device Driver (HIDD) classes. Poseidon as used in AmigaOS Classic up to version 4.0, and in the
MorphOS operating system. The supposingly final AmigaOS version of the Poseidon stack is released OEM licensed with the Deneb USB card in May 2008.
AmigaOS 4.0 has it's own USB stack called
Sirion, though it can still use Poseidon.
A new USB stack called
ANAIIS
(Another Native Amiga IO Interface Stack) is available for all Amiga platforms with Highway or Subway hardware, but doesn't yet support UMASS.
FAT16 and FAT32 filesystems are supported by the
FAT95 filesystem.
AROS, an
Open Source AmigaOS clone for
Intel based PCs, does support UHCI and OHCI USB root hubs (since May 2007) but doesn't yet support USB mass storage class.
Game consoles
The
Xbox 360 and
PlayStation 3 support most mass storage devices.
Graphing Calculators
Independent developers have released drivers for the
TI-84 Plus and
TI-84 Plus Silver Edition in order to access USB mass storage devices.
usb8x contains the driver for this access, while
msd8x handles the user interface.
Device access
The USB mass storage specification doesn't require any particular
file system to be used on conforming devices. Instead, it provides a simple interface to read and write sectors of data—much like the low-level interface used to access any
hard drive—using the "
SCSI transparent command set." Operating systems may treat the USB drive like a hard drive, and can format it with any file system they like.
Because of its ubiquity and relative simplicity, the most common file system on
embedded devices such as
USB flash drives, cameras, or digital audio players is Microsoft's
FAT or
FAT32 file system with (optional)
support for long names. Large USB-based hard disks may come formatted with
NTFS, which is much less supported outside
Microsoft Windows. However, a
keydrive or any other device may be formatted using another filesystem (for example
HFS Plus on an
Apple Macintosh, or
Ext2 under
Linux, or
Unix File System under
Solaris or BSD). Of course, this choice may limit other operating systems' ability to access the contents of the device.
In cameras, MP3 players, and similar gadgets which must access the file system independently from an external host, the FAT filesystem is typically preferred by device manufacturers. Altering the file system on such a device is usually a bad idea: the device will probably stop working.
Complications of the mass-storage device class
The mass storage interface is an attractive option for many devices, such as cameras and media players, which are nonetheless capable of more functionality than being simple data repositories. By presenting themselves as simple datastores, these devices can take advantage of the high degree of support for the USB mass-storage device class in current operating systems' USB driver stacks and allow easy read and write access to their internal memories. The downside of doing so is that it prevents the device from easily presenting its actual functional behavior across the USB interface too. For example, the makers of a digital still camera would also like it to implement the
USB still-image device class, allowing it to be controlled by image capture software.
Some USB digital cameras feature a switch allowing them to appear either as a mass-storage device or as a still-picture device (
PictBridge or
PTP), but they can't be both at the same time because file system layers in
operating systems usually assume that they're the only user. However, the PTP implementation in the device would change the
underlying filesystem without being able to notify the host's operating system about the changed sectors.
Flash-based devices
Disk file systems were not devised with
flash memory in mind.
Flash-specific concerns like
limited number of writes per cell can be affected by a write-heavy file system, causing flash memory manufacturers to reserve about 5 percent of each medium's capacity for
wear leveling.
On the other hand, issues such as
fragmentation or contiguity which affect magnetic disk performance are irrelevant in flash, because they impose no appreciable I/O seeking delays. However, fragmentation may lead to reduced performance with file systems that use
extents.
Hard drive-based devices
Many modern hard drives support additional advanced commands, such as
Native Command Queuing, which may increase performance, and
S.M.A.R.T., which allows a computer to measure various indicators of drive reliability. These exist as extensions to the basic low-level command sets used by hard drives, such as
SCSI,
SATA, or
PATA.
These features don't work when hard drives are encapsulated in a
disk enclosure supporting the USB mass storage interface. USB mass storage provides a
generic interface which only provides basic read/write commands, as outlined above. This works perfectly well for basic data transfer using hard drive-based devices, however it means that there's no simple way to send advanced, device-specific commands to USB mass storage devices (although devices may create their own communication protocols over the
USB-standard "control interface").
The new
eSATA standard for external drives promises to address this issue, since it extends the internal SATA bus to external disks without any intermediate translation layer.
Further Information
Get more info on 'Usb Mass Storage'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://usb_mass_storage_device_class.totallyexplained.com">USB mass storage device class Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |